package com.meatball.dji.common.mqtt.handler.request.data.vo

import com.alibaba.fastjson2.annotation.JSONField

/**
 * TODO 返回license校验参数
 *
 * @see com.meatball.dji.common.mqtt.data.model.ConfigModel
 *
 * @author 张翔宇
 * @since 2024年4月22日
 */
data class ConfigReplyParams(
    val tid: String,
    val bid: String,
    val timestamp: Long = System.currentTimeMillis(),
    val gateway: String,
    val method: String,
    val data: Data
) {
    /**
     * TODO 数据
     *
     * @property result 服务端响应的结果码
     *      非 0 代表错误
     * @property output 服务消息内容
     *      服务端响应设备的消息内容
     */
    data class Data(
        val result: Int,
        val output: CloudApi
    ) {
        /**
         * TODO 大疆认证信息
         *
         * @property id 在开发者网站 创建的 App 的 ID
         * @property key 在开发者网站 创建的 App 的 Key
         * @property license 在开发者网站 创建的 App 的 License
         * @property ntpServerHost NTP 服务 Host
         */
        data class CloudApi(
            @field:JSONField(name = "app_id")
            val id: Int,
            @field:JSONField(name = "app_key")
            val key: String,
            @field:JSONField(name = "app_license")
            val license: String,
            @field:JSONField(name = "ntp_server_host")
            val ntpServerHost: String
        )
    }
}
